home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue26 / pagectrl / TEST2U.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-09-02  |  1.8 KB  |  76 lines

  1. unit Test2U;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComCtrls, StdCtrls, PageCtl2;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     ODPageControl: TODPageControl2;
  12.     TabSheet1: TTabSheet;
  13.     TabSheet2: TTabSheet;
  14.     TabSheet3: TTabSheet;
  15.     Memo1: TMemo;
  16.     Memo2: TMemo;
  17.     Memo3: TMemo;
  18.     Button1: TButton;
  19.     Button2: TButton;
  20.     Button3: TButton;
  21.     procedure ODPageControlDrawItem(Control: TWinControl; Index: Integer;
  22.       Rect: TRect; State: TOwnerDrawState);
  23.     procedure Button1Click(Sender: TObject);
  24.     procedure Button2Click(Sender: TObject);
  25.     procedure Button3Click(Sender: TObject);
  26.   private
  27.     { Private declarations }
  28.   public
  29.     { Public declarations }
  30.   end;
  31.  
  32. var
  33.   Form1: TForm1;
  34.  
  35. implementation
  36.  
  37. {$R *.DFM}
  38.  
  39. procedure TForm1.ODPageControlDrawItem(Control: TWinControl;
  40.   Index: Integer; Rect: TRect; State: TOwnerDrawState);
  41. begin
  42.   with Control as TODPageControl2 do
  43.   begin
  44.     DefaultDrawTab(Index, Rect, State);
  45.     if odSelected in State then
  46.     begin
  47.       Canvas.Pen.Color := clRed;
  48.       Canvas.MoveTo(Rect.Left, Rect.Top);
  49.       Canvas.LineTo(Rect.Right, Rect.Bottom);
  50.       Canvas.MoveTo(Rect.Left, Rect.Bottom);
  51.       Canvas.LineTo(Rect.Right, Rect.Top);
  52.     end;
  53.   end
  54. end;
  55.  
  56. procedure TForm1.Button1Click(Sender: TObject);
  57. const
  58.   Styles: array[Boolean] of TPageControlStyle =
  59.     (pcsStandard, pcsOwnerDraw);
  60. begin
  61.   ODPageControl.Style := Styles[ODPageControl.Style = pcsStandard]
  62. end;
  63.  
  64. procedure TForm1.Button2Click(Sender: TObject);
  65. begin
  66.   ODPageControl.TabButtons := not ODPageControl.TabButtons
  67. end;
  68.  
  69. procedure TForm1.Button3Click(Sender: TObject);
  70. begin
  71.   ODPageControl.TabVPosition :=
  72.     TTabVPosition((Ord(ODPageControl.TabVPosition) + 1) mod Succ(Ord(High(TTabVPosition))))
  73. end;
  74.  
  75. end.
  76.